package com.seednia.module.util.messagesender;

import java.util.Collection;
import java.util.Map;
import java.util.Set;

import com.seednia.foundation.framework.service.IService;

public interface IMessageSenderService extends IService {

	/**
	 * Initialize
	 */
	void initialize(); 
	
	/**
	 * Returns a MessageSender
	 * @param id
	 * @return
	 */
	IMessageSender getMessageSender(String id);

	/**
	 * Returns the set of all message senders
	 * @return
	 */
	Collection<IMessageSender> getMessageSenders();
	
	/**
	 * Returns a collection of message senders that matches the type
	 * @param type
	 * @return
	 */
	Collection<IMessageSender> getMessageSenders(int type);
	
	/**
	 * Retruns the map of all message senders
	 * @return
	 */
	Map<String, IMessageSender> getMessageSenderMap();
}
